home *** CD-ROM | disk | FTP | other *** search
/ Risc World 3 / Risc World 3.iso / SOFTWARE / ISSUE2 / PD / MODCHECK / !ModCheck / CSV (.txt) < prev    next >
Encoding:
RISC OS BBC BASIC V Source  |  2002-04-09  |  1.2 KB  |  62 lines

  1.  >SnigLib.CSV
  2. CSV_Query(F%,F_Size%,Select$,Field$,Value$)
  3.  SelectComma%,FieldComma%
  4.  F_Line$,V$,Result$,F_Pos%
  5. F_Pos%=0
  6. -F_Line$=
  7. Text_NextLine(F%,F_Pos%,F_Size%)
  8. /SelectComma%=
  9. CSV_CommaPos(F_Line$,Select$)
  10. -FieldComma%=
  11. CSV_CommaPos(F_Line$,Field$)
  12.     V$=""
  13. /  F_Line$=
  14. Text_NextLine(F%,F_Pos%,F_Size%)
  15. +  V$=
  16. CSV_GetValue(FieldComma%,F_Line$)
  17.  V$=Value$ 
  18.  F_Pos%>=F_Size%
  19.  V$=Value$ 
  20. 1  Result$=
  21. CSV_GetValue(SelectComma%,F_Line$)
  22.   Result$=""
  23. =Result$
  24. CSV_CommaPos(String$,Search$)
  25.  Result%,F$,Pos%
  26. Result%=0:F$="":Pos%=0
  27.  F$<>Search$ 
  28. (String$)>0
  29.   Pos%=
  30. String$,",")
  31.  Pos%=0 
  32.  Pos%=
  33. (String$)
  34.   F$=
  35. String$,1,Pos%-1)
  36. !'  String$=
  37. String$,
  38. (String$)-Pos%)
  39.   Result%+=1
  40. =Result%
  41.  This function searches the string for the N%'th
  42.  comma'd value.
  43. CSV_GetValue(N%,String$)
  44.  Result$,CommaCount%,Pos%
  45. Result$="":CommaCount%=0
  46.  CommaCount%<>N% 
  47. (String$)>=0
  48.   Pos%=
  49. String$,",")
  50.  Pos%=0 
  51.  Pos%=
  52. (String$)+1
  53.   CommaCount%+=1
  54.  CommaCount%=N% 
  55. 1"    Result$=
  56. String$,1,Pos%-1)
  57.     Result$=""
  58. 5)  String$=
  59. String$,
  60. (String$)-Pos%)  
  61. =Result$
  62.